package org.csu.onlineedubackend.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@TableName("log")
public class Log {
    @TableId(type = IdType.AUTO)
    private Integer id;
    private Integer userId;  // -- 操作人ID（可空，系统行为不一定有人）
    private String username;  // -- 操作人用户名（便于审查）
    private String logType;  //  -- 类型：OPERATION（一般是教师行为） / ERROR / SECURITY / BEHAVIOR（一般是学生行为）
    private String level;  //  INFO / WARN / ERROR
    private String module;  // 所属模块：课程、登录、学习、评论等
    private String action;  // 动作：CREATE / DELETE / WATCH / LOGIN_FAIL / UPDATE
    private String targetId;  // 目标资源ID（如课程ID、接口路径等）
    private String targetType;  // 资源类型：课程、章节、API、按钮等
    private String message;  // 具体信息描述（异常堆栈、行为描述等）
    private String ipAddress;  // 来源IP
    private String userAgent;  // 浏览器UA
    private LocalDateTime createdAt;
}